A classifier is a search engine and reporting tool that aids highlighting and finding critical data by searching through data sources of different types, as well as allowing a user to find out what user has what grant-type permissions on tables, synonyms, system tables, and views. Many classifiers are designed to meet Sarbanes-Oxley compliance for sensitive data retrieval, as well as to facilitate finding answers to the critical questions a database manager might have about where data is located and who has permissions to this data.
Current data classification jobs do not have any capabilities to provide end users with status updates regarding how much the job has progressed and when the job will complete. Users often encounter many challenges and questions, including the following examples:
1. The job still isn't completed, is it still running or stuck?
2. When the job will complete so that the next job can be started?
3. Should the user cancel a long-running job and reschedule it to another time when there is less system activity?
There are no straight-forward formulas in current database or classification applications that can help solve the questions mentioned above. Typically, a user must guess how long the job will take based on his/her knowledge about the complexity of classification rules and the volume or characteristics of the data sources being analyzed. However, it is not practical to use this manual approach, as the execution time depends on many factors that are unable to be foreseen. For instance, the manual approach does not work if the performance and execution time highly depends on a particular condition (such as another job being performed while the user's job is running, if the statistics of the source data are up to date, etc.). If these opaque conditions apply, there is no way for a user to predict or estimate accurately when the classification job will complete, especially if the system state changes.